import pandas as pd
import nibabel as nib
import seaborn as sbn
import pathlib as pal
from nilearn import plotting #Abraham, A. et al. Machine learning for neuroimaging with scikit-learn. Front. Neuroinform. 8, 14 (2014).
from nilearn import input_data as nii
from nilearn import plotting as nlp
from matplotlib import pyplot as plt
mist_64_p = '/Users/Clara/Desktop/MIST/Parcellations/MIST_64.nii.gz'
labels_p = '/Users/Clara/Desktop/MIST/Parcel_Information/MIST_64.csv'
mist64_i = nib.load(mist_64_p)
mist64 = mist64_i.get_data()
labels = pd.read_csv(labels_p, delimiter=';')
mask = mist64_i.get_data().astype(bool)
root_p = pal.Path('/Users/Clara/Desktop/Paper_CrossCNVs/Figure_1/Betamaps_AH/dataset_30_03_21/').resolve()
mask_i = nib.Nifti1Image(mask, affine=mist64_i.affine, header=mist64_i.header)
masker = nii.NiftiMasker(mask_img=mask_i, standardize=False)
masker.fit()
atlas_vec = masker.fit_transform(mist64_i).squeeze() - 1
COND_p = root_p / 'cc_DEL1q21_1_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 1q21.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP1q21_1_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 1q21.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL1q21_1_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 1q21.2 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP1q21_1_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 1q21.2 no GSA",vmax=1, threshold=0.3, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL13q12_12_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 13q12.12 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP13q12_12_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 13q12.12 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL13q12_12_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 13q12.12 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP13q12_12_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 13q12.12 no GSA",vmax=1, threshold=0.4, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL15q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 15q11.2 GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP15q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 15q11.2 GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL15q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 15q11.2 no GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP15q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 15q11.2 no GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL16p11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 16p11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP16p11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 16p11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL16p11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 16p11.2 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP16p11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 16p11.2 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP16p13_11_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 16p13.11 GSA",vmax=1, threshold=0.05, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP16p13_11_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 16p13.11 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL17p12_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 17p12 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL17p12_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 17p12 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL22q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 22q11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP22q11_2_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 22q11.2 GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DEL22q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DEL 22q11.2 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_DUP22q11_2_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="DUP 22q11.2 no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_ASD_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Autism GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_ASD_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Autism no GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_SZ_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Schizophrenia GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_SZ_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Schizophrenia no GSA",vmax=1, threshold=0.2, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_BIP_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Bipolar GSA",vmax=1, threshold=0.1, cmap=plt.cm.seismic)
COND_p = root_p / 'cc_BIP_nomc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="Bipolar no GSA",vmax=1, threshold=0.2, cmap=plt.cm.seismic)
COND_p = root_p / 'cont_Stand_PRS_SCZ_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="PGS-SZ GSA",vmax=0.1, threshold=0.005, cmap=plt.cm.seismic)
COND_p = root_p / 'cont_Stand_PRS_ASD_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="PGS-ASD GSA",vmax=0.1, threshold=0.002, cmap=plt.cm.seismic)
COND_p = root_p / 'cont_Stand_PRS_MDD_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="PGS-MDD GSA",vmax=0.1, threshold=0.002, cmap=plt.cm.seismic)
COND_p = root_p / 'cont_Stand_PRS_newCDG2_ukbb_mc.tsv'
COND=pd.read_csv(COND_p, sep='\t', header=None)
COND=COND.mean(axis=1)
COND_perc_disc = COND
COND_brain_vec = COND_perc_disc[atlas_vec]
COND_brain_img = masker.inverse_transform(COND_brain_vec)
nlp.view_img(COND_brain_img, title="PGS-CrossD GSA",vmax=0.1, threshold=0.002, cmap=plt.cm.seismic)